public class Liste { // public String hatErschlagen = ""; // private int deathToll = 0; // public String[] biester = new String[20]; private String biest = null; private Liste kette = null; public String hatErschlagen() { Liste weiter; String sage = ""; for (weiter = this; weiter.kette != null; weiter = weiter.kette) { sage += weiter.kette.biest; } // while (weiter.kette != null){ // weiter = weiter.kette; // sage += weiter.biest; // } return sage; } public void erschlage(String monster){ Liste weiter = this; for ( weiter = this; weiter.kette != null; weiter = weiter.kette) { } weiter.kette = new Liste(); weiter.kette.biest = monster; } public int getDeathToll(){ int count = 0; Liste weiter = this; for ( weiter = this; weiter.kette != null; weiter = weiter.kette ) { count++; } return count; } public void vergesse(String monster){ Liste weiter; for ( weiter = this; ! weiter.kette.biest.equals(monster); weiter = weiter.kette) { } weiter.kette = weiter.kette.kette; } public String biestNr(int n) { Liste weiter = this; for (int i = 0; i < n; i++){ weiter = weiter.kette; } return weiter.biest; } public static boolean test() { Liste hercules = new Liste(); Liste odysseus = new Liste(); hercules.erschlage("Hydra"); // biester[0] = "Hydra" hercules.erschlage("Löwe"); // biester[1] = "Löwe" hercules.erschlage("Minotaurus"); // biester[2] = "Minotaurus" hercules.erschlage("Nessos"); // biester[3] = "Nessos" odysseus.erschlage("Zyklop"); odysseus.erschlage("Circe"); assert(hercules.kette.biest.equals("Hydra")); assert(hercules.kette.kette.biest.equals("Löwe")); int n; n = hercules.getDeathToll(); assert( n == 4 ); assert( odysseus.getDeathToll() == 2 ); String biester = hercules.hatErschlagen(); assert(biester.equals("HydraLöweMinotaurusNessos")); // assert( biester.equals("Hydra, Löwe, Minotaurus, Nessos") ); String drittes = hercules.biestNr(3); assert( drittes.equals("Minotaurus")); assert( odysseus.biestNr(2).equals("Circe")); hercules.vergesse("Minotaurus"); assert( hercules.biestNr(3).equals("Nessos")); assert( hercules.getDeathToll() == 3 ); assert(hercules.biestNr(0) == null); assert(hercules.biestNr(-23) == null); assert(hercules.biestNr(15) == null); /* assert( hercules.hatErschlagen().equals("Löwe, Minotaurus, Nessos") ); hercules.erschlage("Hydra"); assert( hercules.hatErschlagen().equals("Löwe, Minotaurus, Nessos, Hydra") ); hercules.erschlage("Medusa"); assert( hercules.getDeathToll() == 5 ); assert( hercules.hatErschlagen().equals("Löwe, Minotaurus, Nessos, Hydra, Medusa") ); */ System.out.println("Assertions successful!"); return true; } // Funktionsende kehrt immer zurück zur Stelle des Aufrufs public static void main(String[] args){ assert( test() ); } }